package ljl.doc.java_new_feature.java_new_feature;

/**
 * 提供了一个空指针的解决方案，我感觉不是很好
 * */
public class a_solution_to_nullptr {
    /*
     * 先声明一个密封类表示返回值
     * */
    public sealed interface Returned<T> {
        
        record Value<T>(T value) implements Returned<T>{
        }
        
        record Undefined() implements Returned<Object>{
        }
    }
    
    /*
    * 然后使用这个返回值
    * 貌似 idea 不支持，先注释了
    * */
//    public boolean equals(Returned<String> value, String b) {
//        return switch (value) {
//            case Returned.Undefined u -> false;
//            case Returned.Value rv -> rv.value.equals(b);
//        };
//    }

}
